package com.lh.api.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lh.common.enums.CancelTypeEnum;
import com.lh.common.enums.OrderStatusEnum;
import com.lh.common.enums.PayType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @description: 一元夺宝订单详情对象
 * @author: gze
 * @create: 2020-05-20 10:39
 **/
@Data
@ApiModel("一元夺宝订单详情对象")
public class OneOrderDetailVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单id")
    private Long oid;

    @ApiModelProperty(value = "订单号")
    private String orderItem;

    @ApiModelProperty(value = "活动名称")
    private String activityName;

    @ApiModelProperty(value = "一元夺宝订单状态  TOPAY:待付款; INPAY:支付中; COMPLETED:已完成; CANCELLED:已取消；")
    private OrderStatusEnum orderStatus;

    @ApiModelProperty(value = "期数")
    private Integer period;

    @ApiModelProperty(value = "商品名称")
    private String shopName;

    @ApiModelProperty(value = "商品图片")
    private String shopImg;

    @ApiModelProperty(value = "一元夺宝活动购买次数")
    private Integer shopNum;

    @ApiModelProperty(value = "价格")
    private BigDecimal price;

    @ApiModelProperty(value = "实付款总额")
    private BigDecimal payPrice;

    @JsonIgnore
    private String property;

    @ApiModelProperty(value = "商品规格")
    private List<PropertyVo> propertyList;
    @JsonIgnore
    private String periodCode;

    @ApiModelProperty(value = "获奖号码")
    private String code;

    @ApiModelProperty(value = "夺宝码列表")
    private List<String> codeList;

    @ApiModelProperty(value = "收件人")
    private String receiveRecipients;

    @ApiModelProperty(value = "收件人手机号")
    private String receivePhone;

    @ApiModelProperty(value = "区域")
    private String region;

    @ApiModelProperty(value = "详细地址")
    private String detailed;

    @ApiModelProperty(value = "订单时间")
    private Date createTime;

    @ApiModelProperty(value = "支付方订单号")
    private String payOrderNumber;

    @ApiModelProperty(value = "客服热线")
    private String customrPhone;

    @ApiModelProperty(value = "支付方式")
    private PayType payType;

    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    @ApiModelProperty(value = "倒计时多少秒")
    private Long remainingTime;

    @ApiModelProperty(value = "取消类型 PAYOVERTIME:支付超时已取消; PAYCANCEL:支付失败已取消;INPAY:支付中，")
    private CancelTypeEnum cancelType;
}
